package org.bcos.contract.source;

import java.math.BigInteger;
import java.util.Arrays;
import java.util.Collections;
import java.util.concurrent.Future;
import org.bcos.channel.client.TransactionSucCallback;
import org.bcos.web3j.abi.TypeReference;
import org.bcos.web3j.abi.datatypes.Address;
import org.bcos.web3j.abi.datatypes.Function;
import org.bcos.web3j.abi.datatypes.Type;
import org.bcos.web3j.abi.datatypes.Utf8String;
import org.bcos.web3j.abi.datatypes.generated.Int256;
import org.bcos.web3j.abi.datatypes.generated.Uint256;
import org.bcos.web3j.crypto.Credentials;
import org.bcos.web3j.crypto.EncryptType;
import org.bcos.web3j.protocol.Web3j;
import org.bcos.web3j.protocol.core.methods.response.TransactionReceipt;
import org.bcos.web3j.tx.Contract;
import org.bcos.web3j.tx.TransactionManager;

/**
 * Auto generated code.<br>
 * <strong>Do not modify!</strong><br>
 * Please use the <a href="https://docs.web3j.io/command_line.html">web3j command line tools</a>, or {@link org.bcos.web3j.codegen.SolidityFunctionWrapperGenerator} to update.
 *
 * <p>Generated with web3j version none.
 */
public final class OwnerNamed extends Contract {
    private static String BINARY = "60606040526000600155341561001157fe5b5b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b61145b806100646000396000f300606060405236156100b8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063180db1b4146100ba5780631bd95155146100e05780632ced7cef1461014e578063319af333146102425780633ca6268e146102cf5780633ffbd47f1461034657806341304fac146103e357806341c0e1b5146104515780634b5c4277146104635780635e01eb5a14610514578063893d20e8146105ad578063b60e72cc14610646575bfe5b34156100c257fe5b6100ca6106bd565b6040518082815260200191505060405180910390f35b34156100e857fe5b610138600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506106c8565b6040518082815260200191505060405180910390f35b341561015657fe5b61022c600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506107a2565b6040518082815260200191505060405180910390f35b341561024a57fe5b6102b9600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610818565b6040518082815260200191505060405180910390f35b34156102d757fe5b610330600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190505061089f565b6040518082815260200191505060405180910390f35b341561034e57fe5b6103e1600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610910565b005b34156103eb57fe5b61043b600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610915565b6040518082815260200191505060405180910390f35b341561045957fe5b61046161094a565b005b341561046b57fe5b6104fe600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506109a9565b6040518082815260200191505060405180910390f35b341561051c57fe5b6105246109ef565b6040518080602001828103825283818151815260200191508051906020019080838360008314610573575b8051825260208311156105735760208201915060208101905060208303925061054f565b505050905090810190601f16801561059f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105b557fe5b6105bd610a1c565b604051808060200182810382528381815181526020019150805190602001908083836000831461060c575b80518252602083111561060c576020820191506020810190506020830392506105e8565b505050905090810190601f1680156106385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561064e57fe5b6106a7600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610a6b565b6040518082815260200191505060405180910390f35b600060015490505b90565b6000600060008351915060208211156106e057602091505b60009250600090505b602081101561079a578181101561078657838181518110151561070857fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900460ff16610100840201925061078e565b610100830292505b5b8060010190506106e9565b5b5050919050565b60006107ac611407565b602060405190810160405280600081525090506107d4858583610ad89092919063ffffffff16565b90506107df836106c8565b600102600019166107ef826106c8565b60010260405180826000191660001916815260200191505060405180910390a15b509392505050565b6000610822611407565b60206040519081016040528060008152509050610868846108588573ffffffffffffffffffffffffffffffffffffffff16610b78565b83610ad89092919063ffffffff16565b9050610873816106c8565b60010260405180826000191660001916815260200191505060405180910390a0600091505b5092915050565b60006108a9611407565b602060405190810160405280600081525090506108d9846108c985610d86565b83610ad89092919063ffffffff16565b90506108e4816106c8565b60010260405180826000191660001916815260200191505060405180910390a0600091505b5092915050565b5b5050565b6000610920826106c8565b60010260405180826000191660001916815260200191505060405180910390a0600090505b919050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109a6576109a7565b5b565b60006109b4826106c8565b600102600019166109c4846106c8565b60010260405180826000191660001916815260200191505060405180910390a1600090505b92915050565b6109f7611407565b610a163373ffffffffffffffffffffffffffffffffffffffff16610f65565b90505b90565b610a24611407565b610a65600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f65565b90505b90565b6000610a75611407565b60206040519081016040528060008152509050610aa584610a9585611177565b83610ad89092919063ffffffff16565b9050610ab0816106c8565b60010260405180826000191660001916815260200191505060405180910390a05b5092915050565b610ae0611407565b60006000600060006000865188518a510101604051805910610aff5750595b908082528060200260200182016040525b50955060208901945060208801935060208701925060208601915060009050610b3d818301868b516112c5565b885181019050610b51818301858a516112c5565b875181019050610b658183018489516112c5565b8651810190505b50505050509392505050565b610b80611407565b60006000602a604051805910610b935750595b908082528060200260200182016040525b5092507f3000000000000000000000000000000000000000000000000000000000000000836000815181101515610bd757fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000836001815181101515610c3757fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350602991505b60028260ff16101515610d7e57600f84169050601084811515610c8b57fe5b049350600a8160ff161015610d0657603081017f010000000000000000000000000000000000000000000000000000000000000002838360ff16815181101515610cd157fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610d71565b6061600a8203017f010000000000000000000000000000000000000000000000000000000000000002838360ff16815181101515610d4057fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b81600190039150610c6c565b5b5050919050565b610d8e611407565b600060006000600060006000871415610ddf57604060405190810160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509550610f5b565b86945060019350600092506000871215610e06578660000394506000935082806001019350505b8491505b6000821115610e2f57600a82811515610e1f57fe5b0491508280600101935050610e0a565b8260ff16604051805910610e405750595b908082528060200260200182016040525b509550831515610ebc577f2d00000000000000000000000000000000000000000000000000000000000000866000815181101515610e8b57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b6001830390505b6000851115610f5a576030600a86811515610eda57fe5b06017f01000000000000000000000000000000000000000000000000000000000000000286828060019003935060ff16815181101515610f1657fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85811515610f5257fe5b049450610ec3565b5b5050505050919050565b610f6d611407565b610f7561141b565b60006000600060006028604051805910610f8c5750595b908082528060200260200182016040525b509450600093505b6014841015611169578360130360080260020a8773ffffffffffffffffffffffffffffffffffffffff16811515610fd857fe5b047f01000000000000000000000000000000000000000000000000000000000000000292506010837f0100000000000000000000000000000000000000000000000000000000000000900460ff1681151561102f57fe5b047f0100000000000000000000000000000000000000000000000000000000000000029150817f01000000000000000000000000000000000000000000000000000000000000009004601002837f01000000000000000000000000000000000000000000000000000000000000009004037f01000000000000000000000000000000000000000000000000000000000000000290506110cd82611312565b85856002028151811015156110de57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061111781611312565b856001866002020181518110151561112b57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b8380600101945050610fa5565b8495505b5050505050919050565b61117f611407565b60006000600060008514156111cc57604060405190810160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525093506112bd565b600092508491505b60008211156111f957600a828115156111e957fe5b04915082806001019350506111d4565b8260ff1660405180591061120a5750595b908082528060200260200182016040525b5093506001830390505b60008511156112bc576030600a8681151561123c57fe5b06017f01000000000000000000000000000000000000000000000000000000000000000284828060019003935060ff1681518110151561127857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a858115156112b457fe5b049450611225565b5b505050919050565b60005b6020821015156112ee57825184526020840193506020830192505b6020820391506112c8565b6001826020036101000a039050801983511681855116818117865250505b50505050565b6000600a7f010000000000000000000000000000000000000000000000000000000000000002827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610156113b1576030827f01000000000000000000000000000000000000000000000000000000000000009004017f0100000000000000000000000000000000000000000000000000000000000000029050611402565b6057827f01000000000000000000000000000000000000000000000000000000000000009004017f0100000000000000000000000000000000000000000000000000000000000000029050611402565b5b919050565b602060405190810160405280600081525090565b6020604051908101604052806000815250905600a165627a7a723058205f167e55f6d142bbe5db3c1674e8e8b2485f127f2a08273ea3af86eb61725b340029";

    public static final String ABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"getErrno\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"}],\"name\":\"stringToUint\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"},{\"name\":\"_str2\",\"type\":\"string\"},{\"name\":\"_topic\",\"type\":\"string\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"},{\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"},{\"name\":\"_i\",\"type\":\"int256\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"},{\"name\":\"_version\",\"type\":\"string\"}],\"name\":\"register\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"kill\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"},{\"name\":\"_topic\",\"type\":\"string\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getSender\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"},{\"name\":\"_ui\",\"type\":\"uint256\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"type\":\"constructor\"}]";

    private static String GUOMI_BINARY = "60606040526000600155341561001157fe5b5b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b61145b806100646000396000f300606060405236156100b8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630a23dad5146100ba57806315abed5f146101ae57806319f65ac3146102255780631cbe4a50146102be5780631e14b2f81461034b57806338bcbb0e146103c257806339e60ad1146103d4578063c624d53414610485578063d9f262f01461051e578063e9167eb014610544578063f0297836146105b2578063f9f916871461064f575bfe5b34156100c257fe5b610198600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506106bd565b6040518082815260200191505060405180910390f35b34156101b657fe5b61020f600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610733565b6040518082815260200191505060405180910390f35b341561022d57fe5b6102356107a0565b6040518080602001828103825283818151815260200191508051906020019080838360008314610284575b80518252602083111561028457602082019150602081019050602083039250610260565b505050905090810190601f1680156102b05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102c657fe5b610335600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107cd565b6040518082815260200191505060405180910390f35b341561035357fe5b6103ac600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610854565b6040518082815260200191505060405180910390f35b34156103ca57fe5b6103d26108c5565b005b34156103dc57fe5b61046f600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610924565b6040518082815260200191505060405180910390f35b341561048d57fe5b61049561096a565b60405180806020018281038252838181518152602001915080519060200190808383600083146104e4575b8051825260208311156104e4576020820191506020810190506020830392506104c0565b505050905090810190601f1680156105105780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561052657fe5b61052e6109b9565b6040518082815260200191505060405180910390f35b341561054c57fe5b61059c600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506109c4565b6040518082815260200191505060405180910390f35b34156105ba57fe5b61064d600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610a9e565b005b341561065757fe5b6106a7600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610aa3565b6040518082815260200191505060405180910390f35b60006106c7611407565b602060405190810160405280600081525090506106ef858583610ad89092919063ffffffff16565b90506106fa836109c4565b6001026000191661070a826109c4565b60010260405180826000191660001916815260200191505060405180910390a15b509392505050565b600061073d611407565b6020604051908101604052806000815250905061076d8461075d85610b78565b83610ad89092919063ffffffff16565b9050610778816109c4565b60010260405180826000191660001916815260200191505060405180910390a05b5092915050565b6107a8611407565b6107c73373ffffffffffffffffffffffffffffffffffffffff16610cc6565b90505b90565b60006107d7611407565b6020604051908101604052806000815250905061081d8461080d8573ffffffffffffffffffffffffffffffffffffffff16610ed8565b83610ad89092919063ffffffff16565b9050610828816109c4565b60010260405180826000191660001916815260200191505060405180910390a0600091505b5092915050565b600061085e611407565b6020604051908101604052806000815250905061088e8461087e856110e6565b83610ad89092919063ffffffff16565b9050610899816109c4565b60010260405180826000191660001916815260200191505060405180910390a0600091505b5092915050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561092157610922565b5b565b600061092f826109c4565b6001026000191661093f846109c4565b60010260405180826000191660001916815260200191505060405180910390a1600090505b92915050565b610972611407565b6109b3600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cc6565b90505b90565b600060015490505b90565b6000600060008351915060208211156109dc57602091505b60009250600090505b6020811015610a965781811015610a82578381815181101515610a0457fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900460ff166101008402019250610a8a565b610100830292505b5b8060010190506109e5565b5b5050919050565b5b5050565b6000610aae826109c4565b60010260405180826000191660001916815260200191505060405180910390a0600090505b919050565b610ae0611407565b60006000600060006000865188518a510101604051805910610aff5750595b908082528060200260200182016040525b50955060208901945060208801935060208701925060208601915060009050610b3d818301868b516112c5565b885181019050610b51818301858a516112c5565b875181019050610b658183018489516112c5565b8651810190505b50505050509392505050565b610b80611407565b6000600060006000851415610bcd57604060405190810160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509350610cbe565b600092508491505b6000821115610bfa57600a82811515610bea57fe5b0491508280600101935050610bd5565b8260ff16604051805910610c0b5750595b908082528060200260200182016040525b5093506001830390505b6000851115610cbd576030600a86811515610c3d57fe5b06017f01000000000000000000000000000000000000000000000000000000000000000284828060019003935060ff16815181101515610c7957fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85811515610cb557fe5b049450610c26565b5b505050919050565b610cce611407565b610cd661141b565b60006000600060006028604051805910610ced5750595b908082528060200260200182016040525b509450600093505b6014841015610eca578360130360080260020a8773ffffffffffffffffffffffffffffffffffffffff16811515610d3957fe5b047f01000000000000000000000000000000000000000000000000000000000000000292506010837f0100000000000000000000000000000000000000000000000000000000000000900460ff16811515610d9057fe5b047f0100000000000000000000000000000000000000000000000000000000000000029150817f01000000000000000000000000000000000000000000000000000000000000009004601002837f01000000000000000000000000000000000000000000000000000000000000009004037f0100000000000000000000000000000000000000000000000000000000000000029050610e2e82611312565b8585600202815181101515610e3f57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610e7881611312565b8560018660020201815181101515610e8c57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b8380600101945050610d06565b8495505b5050505050919050565b610ee0611407565b60006000602a604051805910610ef35750595b908082528060200260200182016040525b5092507f3000000000000000000000000000000000000000000000000000000000000000836000815181101515610f3757fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000836001815181101515610f9757fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350602991505b60028260ff161015156110de57600f84169050601084811515610feb57fe5b049350600a8160ff16101561106657603081017f010000000000000000000000000000000000000000000000000000000000000002838360ff1681518110151561103157fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506110d1565b6061600a8203017f010000000000000000000000000000000000000000000000000000000000000002838360ff168151811015156110a057fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b81600190039150610fcc565b5b5050919050565b6110ee611407565b60006000600060006000600087141561113f57604060405190810160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525095506112bb565b86945060019350600092506000871215611166578660000394506000935082806001019350505b8491505b600082111561118f57600a8281151561117f57fe5b049150828060010193505061116a565b8260ff166040518059106111a05750595b908082528060200260200182016040525b50955083151561121c577f2d000000000000000000000000000000000000000000000000000000000000008660008151811015156111eb57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b6001830390505b60008511156112ba576030600a8681151561123a57fe5b06017f01000000000000000000000000000000000000000000000000000000000000000286828060019003935060ff1681518110151561127657fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a858115156112b257fe5b049450611223565b5b5050505050919050565b60005b6020821015156112ee57825184526020840193506020830192505b6020820391506112c8565b6001826020036101000a039050801983511681855116818117865250505b50505050565b6000600a7f010000000000000000000000000000000000000000000000000000000000000002827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610156113b1576030827f01000000000000000000000000000000000000000000000000000000000000009004017f0100000000000000000000000000000000000000000000000000000000000000029050611402565b6057827f01000000000000000000000000000000000000000000000000000000000000009004017f0100000000000000000000000000000000000000000000000000000000000000029050611402565b5b919050565b602060405190810160405280600081525090565b6020604051908101604052806000815250905600a165627a7a723058207e100e6faa16405696416e1078b577f08cde3bbccd1799807807f660c95f481e0029";

    private OwnerNamed(String contractAddress, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit, Boolean isInitByName) {
        super(BINARY, contractAddress, web3j, credentials, gasPrice, gasLimit, isInitByName);
        if(EncryptType.encryptType == 1) super.setContractBinary(GUOMI_BINARY);
    }

    private OwnerNamed(String contractAddress, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit, Boolean isInitByName) {
        super(BINARY, contractAddress, web3j, transactionManager, gasPrice, gasLimit, isInitByName);
        if(EncryptType.encryptType == 1) super.setContractBinary(GUOMI_BINARY);
    }

    private OwnerNamed(String contractAddress, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit) {
        super(BINARY, contractAddress, web3j, credentials, gasPrice, gasLimit, false);
        if(EncryptType.encryptType == 1) super.setContractBinary(GUOMI_BINARY);
    }

    private OwnerNamed(String contractAddress, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit) {
        super(BINARY, contractAddress, web3j, transactionManager, gasPrice, gasLimit, false);
        if(EncryptType.encryptType == 1) super.setContractBinary(GUOMI_BINARY);
    }

    public Future<Uint256> getErrno() {
        Function function = new Function("getErrno", 
                Arrays.<Type>asList(), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<Uint256> stringToUint(Utf8String _str) {
        Function function = new Function("stringToUint", 
                Arrays.<Type>asList(_str), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<Uint256> log(Utf8String _str, Utf8String _str2, Utf8String _topic) {
        Function function = new Function("log", 
                Arrays.<Type>asList(_str, _str2, _topic), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<Uint256> log(Utf8String _str, Address _addr) {
        Function function = new Function("log", 
                Arrays.<Type>asList(_str, _addr), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<Uint256> log(Utf8String _str, Int256 _i) {
        Function function = new Function("log", 
                Arrays.<Type>asList(_str, _i), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<TransactionReceipt> register(Utf8String _name, Utf8String _version) {
        Function function = new Function("register", Arrays.<Type>asList(_name, _version), Collections.<TypeReference<?>>emptyList());
        return executeTransactionAsync(function);
    }

    public void register(Utf8String _name, Utf8String _version, TransactionSucCallback callback) {
        Function function = new Function("register", Arrays.<Type>asList(_name, _version), Collections.<TypeReference<?>>emptyList());
        executeTransactionAsync(function, callback);
    }

    public Future<Uint256> log(Utf8String _str) {
        Function function = new Function("log", 
                Arrays.<Type>asList(_str), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<TransactionReceipt> kill() {
        Function function = new Function("kill", Arrays.<Type>asList(), Collections.<TypeReference<?>>emptyList());
        return executeTransactionAsync(function);
    }

    public void kill(TransactionSucCallback callback) {
        Function function = new Function("kill", Arrays.<Type>asList(), Collections.<TypeReference<?>>emptyList());
        executeTransactionAsync(function, callback);
    }

    public Future<Uint256> log(Utf8String _str, Utf8String _topic) {
        Function function = new Function("log", 
                Arrays.<Type>asList(_str, _topic), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<Utf8String> getSender() {
        Function function = new Function("getSender", 
                Arrays.<Type>asList(), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Utf8String>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<Utf8String> getOwner() {
        Function function = new Function("getOwner", 
                Arrays.<Type>asList(), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Utf8String>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<Uint256> log(Utf8String _str, Uint256 _ui) {
        Function function = new Function("log", 
                Arrays.<Type>asList(_str, _ui), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public static Future<OwnerNamed> deploy(Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit, BigInteger initialWeiValue) {
        if(EncryptType.encryptType == 1) setBinary(getGuomiBinary());
        return deployAsync(OwnerNamed.class, web3j, credentials, gasPrice, gasLimit, BINARY, "", initialWeiValue);
    }

    public static Future<OwnerNamed> deploy(Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit, BigInteger initialWeiValue) {
        if(EncryptType.encryptType == 1) setBinary(getGuomiBinary());
        return deployAsync(OwnerNamed.class, web3j, transactionManager, gasPrice, gasLimit, BINARY, "", initialWeiValue);
    }

    public static OwnerNamed load(String contractAddress, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit) {
        return new OwnerNamed(contractAddress, web3j, credentials, gasPrice, gasLimit, false);
    }

    public static OwnerNamed load(String contractAddress, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit) {
        return new OwnerNamed(contractAddress, web3j, transactionManager, gasPrice, gasLimit, false);
    }

    public static OwnerNamed loadByName(String contractName, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit) {
        return new OwnerNamed(contractName, web3j, credentials, gasPrice, gasLimit, true);
    }

    public static OwnerNamed loadByName(String contractName, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit) {
        return new OwnerNamed(contractName, web3j, transactionManager, gasPrice, gasLimit, true);
    }

    public static void setBinary(String binary) {
        BINARY = binary;
    }

    public static String getGuomiBinary() {
        return GUOMI_BINARY;
    }
}
